The desire for hands-free communications (e.g. cell phones, smart phones, etc.) has led to the increased use of microphone arrays in communications devices. A microphone array that is configured with known “beamforming” techniques can create an acoustic null directed toward undesired noise and therefore attenuate the noise relative to desired sound or speech being captured by the microphone array. Such beamformers can be fixed or adaptive as discussed below.
There are generally three main sources of undesired noise that affect voice quality: echo from speakers that are associated with the communications device, local noise (background noise), and interference (stationary or non-stationary voice such as competing speech). Typically, the choice regarding what source of undesired noise to attenuate is pre-selected by a user or manufacturer. In doing so, various factors are considered including: acoustics of the device, microphone acoustics, and known information about the most disruptive source of undesired noise. For example, if fixed beamformers are being utilized and the user makes the predetermined decision that echo should be attenuated, then the appropriate beamformer geared towards echo attenuation is activated, and the other fixed beamformers are deactivated.
With adaptive beamforming, the noise targeted for attenuation is also pre-selected so that adaptive beamforming becomes active when the targeted noise is dominant over the other noise sources. Compared to fixed beamformers, an adaptive beamformer can directionally steer the null in the reception pattern of the microphone array in real time to follow any movement of the targeted noise source. For example, assuming interference is pre-selected, and if a competing speaker's voice is present, then attenuation would be applied whenever the competing speaker's voice (interference) is dominant as compared to echo and noise. The interference would continue to be attenuated using adaptive beamforming even as the competing speaker changes positions relative to the microphone array. However, since the decision of which noise to target is typically pre-selected, the user may not be aware of the noise source that will be most disturbing to sound quality at the time the decision is made.
Another approach is to attenuate the dominant source of undesired noise at any given time without any pre-selection. The dominant noise source is detected and a null is steered towards the recognized dominant source in a continuous real-time manner, regardless of noise type. Echo is often the noise that is dominant the majority of the time, except during periods of intermittent noise and/or interference activity that overshadows the echo. The drawback with this approach is that the adaptive beamformer is constantly “chasing” or “adapting to” a different target, which negatively effects the convergence time of the beamformer and the overall echo cancellation because echo is very dynamic in terms of direction and amplitude. One method to mitigate chasing is to slow down the adaptation of the beamformer. However, if the adaptation is slowed down too much, then the “noise tracking” ability for moving interference sources is negatively impacted. For example, if local noise becomes dominant over echo and the source moves relative to the microphone array, then slowing the adaptation may impede the ability of the beamformer to adequately track the moving local noise Ideally, what is needed but not conventionally available, is for the beamformer adaption to occur quickly and efficiently with regards to attenuating the noise source that has the highest impact on degrading the overall sound quality, but does not get distracted or affected easily by other momentary factors.
The present invention will now be described with reference to the accompanying drawings. In the drawings, like reference numbers indicate identical or functionally similar elements. Additionally, the left-most digit(s) of a reference number identifies the drawing in which the reference number first appears.